package com.haixiaoke.saas.contract.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.haixiaoke.saas.common.annotation.Excel;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 合同对象 biz_contract
 *
 * @author panda
 * @date 2025-06-26
 */
@Data
public class Contract extends BaseEntity {

    /**
     * 合同id
     */
    private String contractId;

    /**
     * 房屋id
     */
    @Excel(name = "房屋id")
    private String houseId;

    /**
     * 乙方id
     */
    @Excel(name = "乙方id")
    private Long conUserId;

    /**
     * 联系人姓名
     */
    @Excel(name = "联系人姓名")
    private String contactName;

    /**
     * 联系人手机号
     */
    @Excel(name = "联系人手机号")
    private String contactPhone;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号")
    private String idCardNo;

    /**
     * 免租开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date freeRentStartDate;

    /**
     * 免租结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date freeRentEndDate;

    /**
     * 合同开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date contractStartDate;

    /**
     * 合同结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date contractEndDate;

    /**
     * 最晚签约时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date latestSigningDate;

    /**
     * 合同类型:1.纸质合同;2.电子合同;
     */
    @Excel(name = "合同类型:1.纸质合同;2.电子合同;")
    private String contractType;

    /**
     * 合同状态:1.待签署;2.已签署;3.已入住;4.已完成;5.已取消;
     */
    @Excel(name = "合同状态:1.待签署;2.已签署;3.已入住;4.已完成;5.已取消;")
    private String contractState;

    /**
     * 合同照片
     */
    private String contractPicture;

    /**
     * 合同流程id
     */
    @Excel(name = "合同流程id")
    private String flowId;

    /**
     * 合同模板id
     */
    @Excel(name = "合同模板id")
    private String contractTemplateId;

    /**
     * 逻辑删除标志(0代表存在
     */
    private String delFlag;

    /**
     * 自定义字段:房屋地址
     */
    private String address;

    /**
     * 自定义字段:合同照片集合
     */
    private List<String> contractPictureList;

    /**
     * 自定义字段:重定向url
     */
    private String redirectUrl;

    /**
     * 自定义字段,数据类型,0.不是当前机构;1.是当前机构
     */
    private String tenantType;
}
